package com.example.demo.dao;

import com.example.demo.pojo.Reqmessage;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

import javax.transaction.Transactional;
import java.util.List;

/**
 * 处理 请求消息的Repository
 *
 * @author 刘二朋
 * @date 2020-12-02 14:47
 */
@Transactional
public interface ReqMessageRepository extends JpaRepository<Reqmessage, String> {

    /**
     * 查询关于指定用户的 请求消息 ,
     *
     * @param id 要进行操作的用户的账号
     * @return 返回查询到的用户账号
     */
    @Modifying
    @Query(value = "select * from reqmessage r where r.requestb=?1", nativeQuery = true)
    List<Reqmessage> selectReqMessageId(String id);

    /**
     * 删除两个用户的互相的请求消息
     *
     * @param id1 用户1
     * @param id2 用户2
     * @return 返回删除的条数
     */
    @Modifying
    @Query(value = "delete from reqmessage r where r.requesta=?1 and r.requestb=?2 or r.requesta=?2 and r.requestb=?1", nativeQuery = true)
    int deleteRequest(String id1, String id2);
}
